home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1994 March / Internet Info CD-ROM (Walnut Creek) (March 1994).iso / standards / CCITT / 1992 / X / x501_1.asc < prev    next >
Encoding:
Text File  |  1993-07-15  |  48.7 KB  |  924 lines

  1.          The drawings contained in this Recommendation have been done in AUTOCAD
  2.          Recommendation X.501
  3.                                            THE DIRECTORY-MODELS 1)
  4.                                          (Melbourne, 1988)
  5.                                               CONTENTS
  6.          0      Introduction
  7.          1      Scope and field of application
  8.          2      References
  9.          3      Definitions
  10.          4      Abbreviations
  11.          SECTION 1 - Directory model
  12.          5      Directory model
  13.          SECTION 2 - Information model
  14.          6      Directory information base
  15.          7      Directory entries
  16.          8      Names
  17.          9      Directory schema
  18.          SECTION 3 - Security model
  19.          10     Security
  20.          Annex A - The mathematics of trees
  21.          Annex B - Object identifier usage
  22.          Annex C - Information framework in ASN.1
  23.          Annex D - Alphabetical index of definitions
  24.          Annex E - Name design criteria
  25.          Annex F - Access control
  26.          0      Introduction
  27.          0.1    This document, together with the others of the series, has  been  produced
  28.          to facilitate the interconnection of information processing  systems  to  provide
  29.          directory  services.   A  set  of  such  systems,  together  with  the  directory
  30.          information which they hold, can be viewed as an  integrated  whole,  called  the
  31.          Directory. The information held by  the  Directory,  collectively  known  as  the
  32.          Directory Information Base (DIB), is typically used to  facilitate  communication
  33.          between, with or about objects such as application  entities,  people,  terminals
  34.          and distribution lists.
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.          1)       Recommendations  X.501  and  ISO  9594-2,  The  Directory-Models  were  developed  in  close
  66.          collaboration and are technically aligned.
  67.  
  68.  
  69.  
  70.                                                       Fascicle VIII.8 - Rec. X.501   PAGE1
  71.  
  72.          0.2    The Directory plays a significant role in  Open  Systems  Interconnection,
  73.          whose aim is to allow, with a minimum  of  technical  agreement  outside  of  the
  74.          interconnection  standards  themselves,  the   interconnection   of   information
  75.          processing systems:
  76.                -   from different manufacturers;
  77.                -   under different managements;
  78.                -   of different levels of complexity; and
  79.                -   of different ages.
  80.          0.3    This  Recommendation  provides  a  number  of  different  models  for  the
  81.          Directory as a framework for the  other  Recommendations.   The  models  are  the
  82.          overall (functional) model; the organizational model; the security model; and the
  83.          information framework. The latter describes the manner  in  which  the  Directory
  84.          organizes the information it holds. It describes, for  example,  how  information
  85.          about objects is grouped to form directory entries for those objects and how that
  86.          information provides names for objects.
  87.          0.4    Annex A summarizes  the  mathematical  terminology  associated  with  tree
  88.          structures.
  89.          0.5    Annex B summarizes the usage of ASN.1 object identifiers in this series of
  90.          Recommendations.
  91.          0.6    Annex C provides the ASN.1 module which contains all  of  the  definitions
  92.          associated with the information framework.
  93.          0.7    Annex D lists alphabetically the terms defined in this document.
  94.          0.8    Annex E describes some criteria that can be considered in designing names.
  95.          0.9    Annex F describes guidelines for access control.
  96.          1      Scope and field of application
  97.          1.1    The models  defined  in  this  Recommendation  provide  a  conceptual  and
  98.          terminological framework for  the  other  Recommendations  which  define  various
  99.          aspects of the Directory.
  100.          1.2    The  functional  and  organizational  models  define  ways  in  which  the
  101.          Directory can be distributed, both functionally and administratively.
  102.          1.3    The security model defines the framework within which  security  features,
  103.          such as access control, are provided in the Directory.
  104.          1.4    The information model describes the logical structure of  the  DIB.   From
  105.          this  viewpoint,  the  fact  that  the  Directory  is  distributed,  rather  than
  106.          centralized, is not visible.  The other Recommendations in the series make use of
  107.          the concepts of the information framework.  Specifically:
  108.                a)   the  service   provided   by   the   Directory   is   described   (in
  109.                   Recommendation X.511) in terms  of  the  concepts  of  the  information
  110.                   framework: this allows the service provided to be somewhat  independent
  111.                   of the physical distribution of the DIB;
  112.                b)   the  distributed  operation  of  the  Directory  is   specified   (in
  113.                   Recommendation X.518) so as to  provide  that  service,  and  therefore
  114.                   maintain that logical information structure, given that the DIB  is  in
  115.                   fact highly distributed.
  116.          2      References
  117.          Recommendation X.200 - Open Systems Interconnection - Basic Reference Model.
  118.          Recommendation X.500 - The Directory - Overview of Concepts, Models and Services.
  119.          Recommendation X.509 - The Directory - Authentication Framework.
  120.          Recommendation X.511 - The Directory - Access and System Services Definition.
  121.          Recommendation X.518 - The Directory - Procedures for Distributed Operation.
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  
  137.  
  138.  
  139.  
  140.  
  141.          PAGE12  Fascicle VIII.8 - Rec. X.501
  142.  
  143.          Recommendation X.519 - The Directory - Access and System Protocols Specification.
  144.          Recommendation X.520 - The Directory - Selected Attribute Types.
  145.          Recommendation X.521 - The Directory - Selected Object Classes.
  146.          3      Definitions
  147.                Definitions of terms are included at the beginning of  individual  clauses,
  148.          as appropriate.  An index of  these  terms  is  provided  in  Annex  D  for  easy
  149.          reference.
  150.          4      Abbreviations
  151.                ADDMD  Administration Directory Management Domain
  152.                AVA Attribute value assertion
  153.                DIB     Directory Information Base
  154.                DIT     Directory Information Tree
  155.                DMD Directory Management Domain
  156.                DSA Directory System Agent
  157.                DUA Directory User Agent
  158.                PRDMD  Private Directory Management Domain
  159.                RDN Relative distinguished name.
  160.          SECTION 1 - Directory model
  161.          5      Directory model
  162.          5.1    Definitions
  163.                a)  access point: The point at which an abstract service is obtained.
  164.                b)  Administration Directory Management Domain (ADDMD):  A  DMD  which  is
  165.                   managed by an Administration.
  166.                   Note - The term "Administration" denotes  a  public  telecommunications
  167.                   administration or other organization offering public telecommunications
  168.                   services;
  169.                c)  Administrative Authority: An entity which has  administrative  control
  170.                   over all entries stored within a single Directory System Agent;
  171.                d)  The Directory: A repository of information  about  objects  and  which
  172.                   provides directory services to its users  which  allow  access  to  the
  173.                   information;
  174.                e)  Directory Management Domain (DMD): A collection of one or more DSAs and 
  175.                   zero or more DUAs which is managed by a single organization;
  176.                f)  Directory System Agent (DSA): An OSI application process which is part
  177.                   of the Directory;
  178.                g)  (Directory) user: The end user of the Directory, i.e.  the  entity  or
  179.                   person which accesses the Directory;
  180.                h)  Directory User Agent (DUA): An OSI application process which represents 
  181.                   a user in accessing the Directory;
  182.                   Note - DUAs may also provide a range  of  local  facilities  to  assist
  183.                   users, compose queries and interpret the responses;
  184.                i)  Private Directory Management Domain (PRDMD): A DMD which is managed by
  185.                   an organization other than an Administration.
  186.          5.2    The Directory and its users
  187.          5.2.1  A directory user  (e.g.  a  person  or  an  application  process)  obtains
  188.          directory services by accessing the Directory. More precisely, it is a  Directory
  189.          User Agent (DUA), which actually accesses the Directory and interacts with it  to
  190.          obtain the service on behalf of a particular user. The Directory provides one  or
  191.          more access points at which such accesses can  take  place.  These  concepts  are
  192.          illustrated in Figure 1/X.501.
  193.          5.2.2    The   services   provided   by   the   Directory    are    defined    in
  194.          Recommendation X.511.
  195.                                         FIGURE 1/X.501 - T0704310-88
  196.  
  197.          5.2.3  The Directory is a  repository  of  information  about  objects,  and  the
  198.          directory services it provides to its users are concerned with various  kinds  of
  199.          access to this  information.   The  information  is  collectively  known  as  the
  200.          Directory Information Base (DIB). A model for the DIB is defined in section 2  of
  201.          this Recommendation.
  202.          5.2.4  A DUA  is  manifested  as  an  application-process.  Each  DUA  represents
  203.          precisely one directory user.
  204.                Note 1  -  Some  open  systems  may  provide  a  centralised  DUA  function
  205.          retrieving information for  the  actual  users  (application-processes,  persons,
  206.          etc.). This is transparent to the Directory.
  207.                Note 2 - The DUA functions and a DSA (see  5.3.1) can be  within  the  same
  208.  
  209.  
  210.  
  211.  
  212.                                                       Fascicle VIII.8 - Rec. X.501   PAGE1
  213.  
  214.          open system, and it is an implementation choice whether to make one or more  DUAs
  215.          visible within the OSI environment as application-entities.
  216.                Note 3 - A DUA will likely exhibit local behaviour and structure  which  is
  217.          outside the  scope  of  envisaged  Recommendations.  For  example,  a  DUA  which
  218.          represents a human directory user may provide a  range  of  local  facilities  to
  219.          assist its user to compose queries and interpret the responses.
  220.          5.3    Functional model
  221.          5.3.1  The Directory is manifested as a set of one or more application- processes
  222.          known as Directory System Agents (DSAs), each of which provides zero, one or more
  223.          of the access points.  This is illustrated in Figure 2/X.501. Where the Directory
  224.          is composed of more than one DSA, it is said to be  distributed.  The  procedures
  225.          for the operation of the Directory  when  it  is  distributed  are  specified  in
  226.          Recommendation X.518.
  227.                Note - A DSA will likely exhibit local behaviour  and  structure  which  is
  228.          outside the scope of envisaged Recommendations.  For  example,  a  DSA  which  is
  229.          responsible for holding some or all of the information in the DIB  will  normally
  230.          do so by means of a database, the interface to which is a local matter.
  231.          5.3.2  A particular pair of application-processes which need to interact  in  the
  232.          provision of directory services (either a DUA and a DSA,  or  two  DSAs)  may  be
  233.          located in different open systems. Such an interaction is carried out by means of
  234.          OSI directory protocols, as specified in Recommendation X.519.
  235.                                          FIGURE 2/X.501 -T0704320-88
  236.  
  237.          5.4    Organizational model
  238.          5.4.1  A set of one or more DSAs and zero  or  more  DUAs  managed  by  a  single
  239.          organization may form a Directory Management Domain (DMD).
  240.                Note - The organization which manages a DMD may be an Administration  (i.e.
  241.          a public telecommunications administration or other organization offering  public
  242.          telecommunications  services)   in  which  case  the  DMD  is  said  to   be   an
  243.          Administration DMD (ADDMD); otherwise it is a Private DMD (PRDMD). It  should  be
  244.          recognized that the provision of support for private directory systems  by  CCITT
  245.          members falls within the framework of national regulations. Thus,  the  technical
  246.          possibilities described may or may not be  offered  by  an  Administration  which
  247.          provides directory services. The internal operation and configuration of  private
  248.          DMDs is not within the scope of envisaged CCITT Recommendations.
  249.          5.4.2  Management of a DUA by a DMD implies an ongoing responsibility for service
  250.          to that DUA, e.g. maintenance, or in some cases ownership, by the DMD.
  251.          5.4.3  The organization concerned may or may not elect to make use of this series
  252.          of Recommendations to govern any interactions  among  DUAs  and  DSAs  which  are
  253.          wholly within the DMD.
  254.          5.4.4  Each DSA is administered by an Administrative Authority.  This entity  has
  255.          control over all object entries and  alias  entries  stored  by  that  DSA.  This
  256.          includes responsibilities for the  Directory  schema  being  used  to  guide  the
  257.          creation and modification of entries (see  9). The structure  and  allocation  of
  258.          names is the responsibility of a naming authority [see  8.1 f)] and the  role  of
  259.          the Administrative Authority is to  implement  these  naming  structures  in  the
  260.          schema.
  261.          SECTION 2 - Information model
  262.          6      Directory information base
  263.          6.1    Definitions
  264.                a)  alias entry: an entry of the class "alias" containing information used
  265.                   to provide an alternative name for an object;
  266.                b)  Directory Information Base (DIB): the complete set of  information  to
  267.                   which the Directory provides access  and  which  includes  all  of  the
  268.                   pieces of information which  can  be  read  or  manipulated  using  the
  269.                   operations of the Directory;
  270.                c)  Directory Information Tree (DIT): the DIB considered as a tree,  whose
  271.                   vertices (other than the root) are the Directory entries;
  272.                   Note - The term DIT is used instead of DIB only in contexts  where  the
  273.                   tree structure of the information is relevant.
  274.                d)  (Directory) entry: a part of the DIB which contains information  about
  275.                   an object;
  276.                e)  immediate superior (noun): relative to a particular entry or object (it 
  277.                   must be clear from the  context  which  is  intended)  the  immediately
  278.                   superior entry or object;
  279.  
  280.  
  281.  
  282.  
  283.          PAGE12  Fascicle VIII.8 - Rec. X.501
  284.  
  285.                f)  immediately superior 
  286.                   (entry): relative to a particular entry - an  entry  which  is  at  the
  287.                   initial vertex of an arc in the DIT whose final vertex is that  of  the
  288.                   particular entry;
  289.                   (object): relative to a particular object  -  an  object  whose  object
  290.                   entry is the immediate superior of any of the entries (object or alias)
  291.                   for the second object;
  292.                g)  object (of interest): anything in some "world", generally the world of
  293.                   telecommunications and information processing  or  some  part  thereof,
  294.                   which is identifiable (can be named), and which it is  of  interest  to
  295.                   hold information on in the DIB;
  296.                h)  object class: an identified family of objects (or conceivable objects)
  297.                   which share certain characteristics;
  298.                i)  object entry: an entry which is the primary collection of  information
  299.                   in the DIB about an object and which can therefore be said to represent
  300.                   that object in the DIB;
  301.                j)  subclass: relative to a superclass - an object class  derived  from  a
  302.                   superclass. The members of the subclass share all  the  characteristics
  303.                   of another object class (the superclass) and additional characteristics
  304.                   possessed by none of the members of that object class (the superclass);
  305.                k)  subordinate/inferior: the converse of superior;
  306.                l)  superclass: relative to a subclass - an  object  class  from  which  a
  307.                   subclass is derived;
  308.                m)  superior: (applying to  entry  or  object)  immediately  superior,  or
  309.                   superior to one which is immediately superior (recursively).
  310.          6.2    Objects
  311.          6.2.1  The  purpose  of  the  Directory  is  to  hold,  and  provide  access  to,
  312.          information about objects of interest (objects) which exist in some  "world".  An
  313.          object can be anything in that world which is identifiable (can be named).
  314.                Note  1  -  The  "world"  is  generally  that  of  telecommunications   and
  315.          information processing or some part thereof.
  316.                Note 2 - The objects known to the  Directory  may  not  correspond  exactly
  317.          with the set of "real"  things in the world. For example, a real-world person may
  318.          be regarded as two different objects, a business person and a residential person,
  319.          as far as the Directory  is  concerned.  The  mapping  is  not  defined  in  this
  320.          Recommendation but is a matter for the users and providers of  the  Directory  in
  321.          the context of their applications.
  322.          6.2.2  The complete set of information to which the Directory provides access  is
  323.          known as the Directory Information Base (DIB). All of the pieces  of  information
  324.          which can be  read  or  manipulated  by  the  operations  of  the  Directory  are
  325.          considered to be included in the DIB.
  326.          6.2.3  An object class  is  an  identified  family  of  objects  (or  conceivable
  327.          objects) which share certain characteristics. Every object belongs  to  at  least
  328.          one class. An object class may be a subclass of another object  class,  in  which
  329.          case the members of the former class (the subclass) are  also  considered  to  be
  330.          members of the latter (the superclass). There may be  subclasses  of  subclasses,
  331.          etc. to an arbitrary depth.
  332.          6.3    Directory entries
  333.          6.3.1  The DIB  is  composed  of  Directory  entries  (entries)  each  containing
  334.          information about (describing) a single object.
  335.          6.3.2  For any particular object there is precisely one object entry, this  being
  336.          the primary collection of information in the DIB about that  object.  The  object
  337.          entry is said to represent the object.
  338.          6.3.3  For any particular object there may, in addition to the object  entry,  be
  339.          one or more alias entries for that object which are used to  provide  alternative
  340.          names (see  8.5).
  341.          6.3.4  The structure of directory entries  is  depicted  in  Figure  3/X.501  and
  342.          described in 7.2.
  343.          6.3.5  Each entry contains an indication of the object class and the superclasses
  344.          of that object class with which the entry is associated. In the case of an object
  345.          entry, this indicates the class(es) to which the object belongs. In the  case  of
  346.          an alias entry, this indicates, by means  of  a  special  object  class,  "alias"
  347.          (defined in  9.4.8.2), that it is in fact an alias entry, and may  also  indicate
  348.          to which subclass(es) of the alias object class the entry belongs.
  349.          6.4    The Directory information tree (DIT)
  350.  
  351.  
  352.  
  353.  
  354.                                                       Fascicle VIII.8 - Rec. X.501   PAGE1
  355.  
  356.          6.4.1  In order to satisfy the requirements for the distribution  and  management
  357.          of a potentially very large DIB, and to ensure that objects can be  unambiguously
  358.          named (see  8) and their entries found, a flat structure of entries is not likely
  359.          to be feasible. Accordingly, the hierarchical relationship commonly  found  among
  360.          objects (e.g. a person works for a department, which belongs to an  organization,
  361.          which is headquartered in a country) can be exploited, by the arrangement of  the
  362.          entries into a tree, known as the Directory Information Tree (DIT).
  363.                Note - An introduction to the concepts and terminology of  tree  structures
  364.          can be found in Annex A.
  365.          6.4.2  The component parts of the DIT have the following interpretations:
  366.                a)  the vertices are the entries. Object entries may be either leaf or non
  367.                   leaf vertices, whereas alias entries are always leaf vertices. The root
  368.                   is not an entry as such, but can, when convenient to do so (e.g. in the
  369.                   definitions of b) and c) below), can be viewed as a null  object  entry
  370.                   [see d) below];
  371.                b)  the arcs define the relationship between vertices (and hence entries).
  372.                   An arc from vertex A to vertex B means that  the  entry  at  A  is  the
  373.                   immediately superior entry (immediate superior) of the entry at B,  and
  374.                   conversely, that the entry at B is  an  immediately  subordinate  entry
  375.                   (immediate subordinate)  of  the  entry  at  A.  The  superior  entries
  376.                   (superiors) of a particular entry are its immediate  superior  together
  377.                   with   its   superiors   (recursively).   The    subordinate    entries
  378.                   (subordinates) of a particular entry  are  its  immediate  subordinates
  379.                   together with their subordinates (recursively);
  380.                c)  the object represented by an entry is or is closely associated with the 
  381.                   naming authority (see  8) for its subordinates;
  382.                d)  the root represents the highest level of naming authority for the DIB.
  383.          6.4.3  A superior/subordinate relationship between objects can  be  derived  from
  384.          that between entries.  An object is an  immediately  superior  object  (immediate
  385.          superior) of another object if and only if the object entry for the first  object
  386.          is the immediate superior of any of the entries for the second object. The  terms
  387.          immediately   subordinate   object,   immediate   subordinate,    superior    and
  388.          subordinate(applied to objects) have their analogous meanings.
  389.          6.4.4  Permitted superior/subordinate relationships among objects are governed by
  390.          the DIT structure definitions (see  9.2).
  391.          7      Directory entries
  392.          7.1    Definitions
  393.                a)  attribute: the information of a particular type concerning  an  object
  394.                   and appearing in an entry describing that object in the DIB;
  395.                b)  attribute type: that component of an  attribute  which  indicates  the
  396.                   class of information given by that attribute;
  397.                c)  attribute value: a particular instance of  the  class  of  information
  398.                   indicated by an attribute type;
  399.                d)  attribute value assertion: a proposition, which may be true, false  or
  400.                   undefined, concerning the values (or  perhaps  only  the  distinguished
  401.                   values) of an entry;
  402.                   Note - In this document the notation "string1 =  string2"  is  used  to
  403.                   write down examples of attribute value assertions.  In  this  notation,
  404.                   "string1" is an abbreviation for the "name" of the attribute type,  and
  405.                   "string2" is a textual representation of suitable value.  Although  the
  406.                   attribute types in the examples are often based upon real  types,  such
  407.                   as  those  defined  in  Recommendation  X.520  (e.g.  "C"  stands   for
  408.                   "Country", CN for "Common Name"), this is not  strictly  necessary  for
  409.                   the purposes of this document, as the Directory is usually  unaware  of
  410.                   the meanings of the attribute types in use.
  411.                e)  distinguished value: an attribute value in an  entry  which  has  been
  412.                   designated to appear in the relative distinguished name of the entry.
  413.          7.2    Overall structure
  414.          7.2.1  As depicted in Figure 3/X.501, an entry consists of a set of attributes.
  415.                                          FIGURE 3/X.501 -T0704330-88
  416.  
  417.          7.2.2  Each attribute provides a piece  of  information  about,  or  describes  a
  418.          particular characteristic of, the object to which the entry corresponds.
  419.                Note - Examples of attributes which might be present in  an  entry  include
  420.          naming  information  such  as  the  object's  personal   name,   and   addressing
  421.  
  422.  
  423.  
  424.  
  425.          PAGE12  Fascicle VIII.8 - Rec. X.501
  426.  
  427.          information, such as its telephone number.
  428.  
  429.  
  430.  
  431.  
  432.  
  433.  
  434.  
  435.  
  436.  
  437.  
  438.  
  439.  
  440.  
  441.  
  442.  
  443.  
  444.  
  445.  
  446.  
  447.  
  448.  
  449.  
  450.  
  451.  
  452.  
  453.  
  454.  
  455.  
  456.  
  457.  
  458.  
  459.  
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466.  
  467.  
  468.  
  469.  
  470.  
  471.  
  472.  
  473.  
  474.  
  475.  
  476.  
  477.  
  478.  
  479.  
  480.  
  481.  
  482.  
  483.  
  484.  
  485.  
  486.  
  487.  
  488.  
  489.  
  490.  
  491.  
  492.  
  493.  
  494.  
  495.  
  496.                                                       Fascicle VIII.8 - Rec. X.501   PAGE1
  497.  
  498.          7.2.3  An attribute consists of an attribute type, which identifies the class  of
  499.          information given by an attribute,  and  the  corresponding  attribute  value(s),
  500.          which are the particular instances of that class appearing in the entry.
  501.                Attribute ::=
  502.                    SEQUENCE{
  503.                        type             Attribute Type
  504.                        values           SET OF AttributeValue
  505.                        -- at least one value is required --}
  506.          7.3    Attribute types
  507.          7.3.1  Some attribute types will be internationally standardized. Other attribute
  508.          types  will  be  defined  by  national  administrative  authorities  and  private
  509.          organizations. This implies  that  a  number  of  separate  authorities  will  be
  510.          responsible for assigning types in a way that ensures that each is distinct  from
  511.          all other assigned types. This is accomplished by identifying each attribute type
  512.          with an object identifier when the type is defined (as described in 9.5):
  513.                Attribute Type ::=  OBJECT IDENTIFIER
  514.          7.3.2  All attributes in an entry must be of distinct attribute types.
  515.          7.3.3  There are a number of attribute types which the Directory knows about  and
  516.          uses for its own purposes. They include:
  517.                a)  ObjectClass. An attribute of this type  appears  in  every  entry  and
  518.                   indicates the object class  and  superclass(es)  to  which  the  object
  519.                   belongs.
  520.                b)  AliasedObjectName. An attribute of this type appears  in  every  alias
  521.                   entry and holds the distinguished name (see  8.5) of the  object  which
  522.                   this alias entry describes.
  523.                These attributes are (partially) defined in  9.5.4.
  524.          7.3.4  The types of attributes which must or which may  appear  within  an  entry
  525.          (other than as mentioned in   7.3.3)  are  governed  by  rules  applying  to  the
  526.          indicated object class(es).
  527.          7.4    Attribute values
  528.          7.4.1  Defining an attribute type (see  9.5) also involves specifying the syntax,
  529.          and hence data type, to which every value in such attributes must  conform.  This
  530.          could be any data type:
  531.                AttributeValue ::=  ANY
  532.          7.4.2  At most one of  the  values  of  an  attribute  may  be  designated  as  a
  533.          distinguished value, in which case the attribute value appears  in  the  relative
  534.          distinguished name (see  8.3) of the entry.
  535.          7.4.3  An attribute value assertion (AVA) is a proposition, which  may  be  true,
  536.          false, or undefined, concerning the values (or  perhaps  only  the  distinguished
  537.          values) of an entry. It involves an attribute type and an attribute value.
  538.                AttributeValueAssertion ::=
  539.                    SEQUENCE {AttributeType, AttributeValue}
  540.          and is:
  541.                a)  undefined, if any of the following holds:
  542.                   i)  the attribute type is unknown;
  543.                   ii) the attribute syntax for the type has no equality matching rule;
  544.                   iii)   the value does not conform to the data  type  of  the  attribute
  545.                       syntax;
  546.                   Note - ii) and iii) normally indicate a faulty AVA;  i),  however,  may
  547.                   occur as a local situation (e.g. a particular DSA  has  not  registered
  548.                   that particular attribute type).
  549.                b)  true, if the entry contains an attribute of that type,  one  of  whose
  550.                   values matches that value (if the  assertion  is  concerned  only  with
  551.                   distinguished values, then the matched value must be the  distinguished
  552.                   one);
  553.                   Note - The matching of values is for equality and involves the matching
  554.                   rule associated with the attribute syntax.
  555.                c)  false, otherwise.
  556.          8      Names
  557.          8.1    Definitions
  558.                a)  alias, alias name: a name for an object, provided by the use of one or
  559.                   more alias entries in the DIT;
  560.                b)  dereferencing: replacing the alias name for an object by the  object's
  561.                   distinguished name;
  562.                c)  distinguished name (of an object): one of the  names  of  the  object,
  563.  
  564.  
  565.  
  566.  
  567.          PAGE12  Fascicle VIII.8 - Rec. X.501
  568.  
  569.                formed from the sequence of the RDNs of the object entry  and  each  of
  570.                   its superior entries;
  571.                d)  (directory) name: a construct that singles out a particular object from 
  572.                   all other objects. A name must be unambiguous (that is, denote just one
  573.                   object), however it need not be unique (that is, be the only name which
  574.                   unambiguously denotes the object);
  575.                e)  purported name: a construct which is syntactically a name but which has 
  576.                   not (yet) been shown to be a valid name;
  577.                f)  naming authority: an authority responsible for the allocation of names. 
  578.                   Each object whose object entry is located at a non-leaf vertex  in  the
  579.                   DIT is, or is closely associated with, a naming-authority;
  580.                g)  relative distinguished name (RDN): a set of attribute value assertions, 
  581.                   each of which  is  true,  concerning  the  distinguished  values  of  a
  582.                   particular entry.
  583.          8.2    Names in general
  584.          8.2.1  A (directory) name is a construct that identifies a particular object from
  585.          among the set of all objects. A name must be unambiguous, that  is,  denote  just
  586.          one object. However, a name need not be unique, that is be  the  only  name  that
  587.          unambiguously denotes the object.
  588.          8.2.2  Syntactically, each name for an object is an ordered sequence of  relative
  589.          distinguished names (see  8.3).
  590.                NAME ::=
  591.                    CHOICE { --only one possibility for now--
  592.                        RDNSequence}
  593.                RDNSequence ::= SEQUENCE OF RelativeDistinguishedName 
  594.                DistinguishedName ::= RDNSequence
  595.                Note - Names which are formed in other ways than as described herein are  a
  596.          possible future extension.
  597.          8.2.3  The null sequence is the name for the root of the tree.
  598.          8.2.4  Each initial subsequence of the name of an object is also the name  of  an
  599.          object. The sequence of objects so identified, starting with the root and  ending
  600.          with the object being named, is such that each is the immediate superior of  that
  601.          which follows it in the sequence.
  602.          8.2.5  A purported name is a construct which is syntactically a  name  but  which
  603.          has not (yet) been shown to be a valid name.
  604.          8.3    Relative distinguished names
  605.          8.3.1  Each entry has a unique relative distinguished name (RDN). An RDN consists
  606.          of a set of attribute value assertions, each of which  is  true,  concerning  the
  607.          distinguished values of the entry.
  608.                RelativeDistinguishedName ::=
  609.                    SET OF AttributeValueAssertion
  610.                The set contains exactly one assertion about each  distinguished  value  in
  611.          the entry.
  612.          8.3.2  The RDNs of all of the entries with a particular  immediate  superior  are
  613.          distinct.  It is the responsibility of the relevant  naming  authority  for  that
  614.          entry to  ensure  that  this  is  so  by  appropriately  assigning  distinguished
  615.          attribute values.
  616.                Note - Frequently, an entry will contain a single distinguished value  (and
  617.          the RDN will thus comprise a single AVA); however,  under  certain  circumstances
  618.          (in order to differentiate), additional values (and hence AVAs) may be used.
  619.  
  620.  
  621.  
  622.  
  623.  
  624.  
  625.  
  626.  
  627.  
  628.  
  629.  
  630.  
  631.  
  632.  
  633.  
  634.  
  635.  
  636.  
  637.  
  638.                                                       Fascicle VIII.8 - Rec. X.501   PAGE1
  639.  
  640.          8.3.3  The RDN for an entry is chosen when the entry is created. A  single  value
  641.          instance of any attribute type may form part of the RDN, depending on the  nature
  642.          of the object class denoted.  Allocation of RDNs is considered an  administrative
  643.          undertaking that may  or  may  not  require  some  negotiation  between  involved
  644.          organizations or administrations. This Recommendation does  not  provide  such  a
  645.          negotiation mechanism and makes no assumption as to how it is performed. The  RDN
  646.          may be modified if necessary by complete replacement.
  647.                Note - RDNs are intended  to  be  long-lived  so  that  the  users  of  the
  648.          Directory can store the distinguished names of objects  (e.g.  in  the  Directory
  649.          itself) without concerns for their obsolescence.  Thus  RDNs  should  be  changed
  650.          cautiously.
  651.          8.4    Distinguished names
  652.          8.4.1  The distinguished name of a given object is defined as being the  sequence
  653.          of the RDNs of the entry which represents the object and  those  of  all  of  its
  654.          superior entries (in descending order). Because of the one to one  correspondence
  655.          between objects and object entries, the distinguished name of an  object  can  be
  656.          considered to also identify the object entry.
  657.                Note 1 - It is preferable that the distinguished  names  of  objects  which
  658.          humans have to deal with be user-friendly.
  659.                Note  2  -  ISO  7498/3  defines  the  concept  of  a  primitive  name.   A
  660.          distinguished name can be used as a primitive name for the object  it  identifies
  661.          because: a) it is unambiguous, b) it is unique,  and  c)  the  semantics  of  its
  662.          internal structure (a  sequence  of  RDNs)  need  not  (but  of  course  may)  be
  663.          understood by the user of the Directory.
  664.                Note 3 - Because only the object entry  and  its  superiors  are  involved,
  665.          distinguished names of objects can never involve alias entries.
  666.          8.4.2  It proves convenient to define the "distinguished name" of the root and of
  667.          an alias entry, although in neither case is the name also the distinguished  name
  668.          of an object.  The distinguished name of the root  is  defined  to  be  the  null
  669.          sequence. The distinguished name of an alias entry is defined to be the  sequence
  670.          of RDNs of the alias  entry  and  those  of  all  of  its  superior  entries  (in
  671.          descending order).
  672.          8.4.3  An example which illustrates the concepts of RDN  and  distinguished  name
  673.          appears in Figure 4/X.501.
  674.                                          FIGURE 4/X.501 -T0704340-88
  675.  
  676.          8.5    Alias names
  677.          8.5.1  An alias, or an alias name, for an object is a name at least one of  whose
  678.          RDNs is that of an alias entry. Aliases permit  object  entries  to  achieve  the
  679.          effect of having multiple immediate superiors. Therefore, aliases provide a basis
  680.          for alternative names.
  681.          8.5.2  Just as the distinguished  name  of  an  object  expresses  its  principal
  682.          relationship to some hierarchy of objects, so an alias expresses (in the  general
  683.          case) an alternative relationship to a different hierarchy of objects.
  684.          8.5.3  An object with an entry in the DIT may have  zero  or  more  aliases.  It,
  685.          therefore, follows that several alias entries may point to the same object entry.
  686.          An alias entry may point to an object entry that is not a leaf entry. Only object
  687.          entries may have aliases. Thus aliases of aliases are not permitted.
  688.          8.5.4  An alias entry shall have no subordinates, that is, an alias  entry  is  a
  689.          leaf entry.
  690.          8.5.5  The Directory makes use of the aliased object name attribute in  an  alias
  691.          entry to identify and to find the corresponding object entry.
  692.          9      Directory schema
  693.          9.1    Definitions
  694.                a)  Directory Schema: The set of  rules  and  constraints  concerning  DIT
  695.                   structure, object class definitions, attribute types and syntaxes which
  696.                   characterize the DIB;
  697.                b)  DIT Structure Rule: A rule, forming part of the Directory Schema which
  698.                   relates an object class (the subordinate) to another object class  (the
  699.                   superior) and  which  allows  an  entry  of  the  former  class  to  be
  700.                   immediately subordinate to one of the latter classes in the  DIT.   The
  701.                   rule also governs the attribute type(s)  permitted  to  appear  in  the
  702.                   (subordinate)  entry's RDN, and may impose additional  conditions.  The
  703.                   schema may contain many such rules.
  704.          9.2    Overview
  705.  
  706.  
  707.  
  708.  
  709.          PAGE12  Fascicle VIII.8 - Rec. X.501
  710.  
  711.           9.2.1  The Directory Schema is a set of definitions  and  constraints  concerning
  712.           the structure of the DIT and the possible ways entries are named, the information
  713.           that can be held  in  an  entry,  and  the  attributes  used  to  represent  that
  714.           information.
  715.                 Note 1 - The schema enables the directory system to, for example:
  716.                  -   prevent the creation of subordinate entries of the wrong  object-class
  717.                      (e.g. a country as a subordinate of a person);
  718.                  -   prevent the addition of attribute-types to an entry  inappropriate  to
  719.                      the object-class (e.g. a serial number to a person's entry);
  720.                  -   prevent the addition of an attribute value of a  syntax  not  matching
  721.                      that defined for the attribute type (e.g. a printable string to  a  bit
  722.                      string).
  723.                 Note 2 - Dynamic mechanisms for the management of the directory schema  are
  724.           not presently provided by this series of Recommendations.
  725.           9.2.2  Formally, the Directory Schema comprises a set of:
  726.                  a)  DIT Structure definitions (rules) that define the distinguished  names
  727.                      that entries may have and the ways in which they may be related to  one
  728.                      another through the DIT;
  729.                  b)  Object Class definitions that define the set of mandatory and optional
  730.                      attributes that must be present, and may be present,  respectively,  in
  731.                      an entry of a given class (see  6.2.3 of this Recommendation);
  732.                  c)  Attribute Type definitions that identify the object identifier by which 
  733.                      an attribute is known, its syntax, and whether it is permitted to  have
  734.                      multiple values;
  735.                  d)  Attribute Syntax  definitions  that  define  for  each  attribute  the
  736.                      underlying ASN.1 data type and matching rules.
  737.                 Figure 5/X.501 summarizes the relationships between the schema  definitions
  738.           on the one side, and the DIT, directory entries, attributes, and attribute values
  739.           on the other.
  740.           9.2.3   The  Directory  Schema  is  distributed,  like  the  DIB   itself.   Each
  741.           Administrative Authority establishes the part of the schema that will  apply  for
  742.           those portions of the DIB administered by the authority.
  743.                 Note - Distribution of schema information across DSAs managed by  different
  744.           Administrative Authorities is not supported by this  series  of  Recommendations.
  745.           Such distribution is handled administratively by bilateral agreements.
  746.           9.2.4  The specification of what is involved in the definition of DIT  structure,
  747.           object classes, attribute types and attribute syntaxes can be  found  in   9.3  -
  748.            9.6 respectively.
  749.  
  750.  
  751.  
  752.  
  753.  
  754.  
  755.  
  756.  
  757.  
  758.  
  759.  
  760.  
  761.  
  762.  
  763.  
  764.  
  765.  
  766.  
  767.  
  768.  
  769.  
  770.  
  771.  
  772.  
  773.  
  774.  
  775.  
  776.  
  777.  
  778.  
  779.  
  780.                                                        Fascicle VIII.8 - Rec. X.501   PAGE1
  781.  
  782.                                         FIGURE 5/X.501 - T0704350-88
  783.  
  784.          9.3    DIT structure definition
  785.          9.3.1  A DIT Structure Rule  defines  the  permitted  hierarchical  relationships
  786.          between entries and their permitted RDNs. The definition of a DIT Structure  Rule
  787.          involves:
  788.                -   identifying the subordinate and superior object classes;
  789.                -   identifying the attribute types which may be involved  in  subordinate
  790.                   entries' RDNs; and
  791.                -   optionally) additional information.
  792.          9.3.2  The Directory permits an entry to stand in the relationship  of  immediate
  793.          subordinate to another (its immediate  superior)  only  if  there  exists  a  DIT
  794.          Structure definition, contained in the schema  (see   9.2.3)  applicable  to  the
  795.          portion of the DIB that would contain the entry, for which:
  796.                -   he entry is of the subordinate object class;
  797.                -   he immediate superior of the entry is of the superior object class;
  798.                -   he attribute type(s) forming the entry's  RDN  is  (are)  among  those
  799.                   permitted;
  800.                and
  801.                -   any conditions imposed by the additional information set  element  are
  802.                   satisfied.
  803.                Note 1 - Techniques for  documenting  DIT  Structure  or  for  representing
  804.          structure rules in  the  DIB  are  not  presently  provided  by  this  series  of
  805.          Recommendations.
  806.                Note 2 -  If  a  DIT  Structure  Rule  permits  subordinates  or  superiors
  807.          belonging to a particular class, it  implicitly  (unless  explicitly  overridden)
  808.          also allows subordinates or superiors belonging to any object class derived  from
  809.          that class (see  9.4).
  810.          9.3.3  The Directory enforces the defined structure rules at every entry  in  the
  811.          DIT.  Any attempt to modify the DIT in such a way as to  violate  the  applicable
  812.          structure rules fails.
  813.          9.3.4  A DIT Structure Rule in which an object class is the subordinate is termed
  814.          a name binding for that object class.
  815.          9.3.5  For an object class to be represented by entries in a portion of the  DIB,
  816.          at least one name binding  for  that  object  class  must  be  contained  in  the
  817.          applicable part of the schema. The schema contains additional  name  bindings  as
  818.          required.
  819.                Note - It is conceivable that an object class, occurring  in  two  distinct
  820.          schemas, might have distinct name bindings in each schema.
  821.          9.4    Object class definition
  822.          9.4.1  The definition of an object-class involves:
  823.                a)  ptionally, assigning an object-identifier for the object-class;
  824.                b)  ndicating which classes this is to be a subclass of;
  825.                c)  isting the mandatory attribute types that an entry of the object class
  826.                   must contain in addition to the mandatory attribute types  of  all  its
  827.                   superclasses.
  828.                d)  isting the optional attribute types that an entry of the object  class
  829.                   may  contain  in  addition  to  the  optional  attributes  of  all  its
  830.                   superclasses.
  831.                Note - An object class without an assigned object  identifier  is  intended
  832.          for local use as a means of conveniently adding new attribu e  types  to  a  pre-
  833.          defined superclass. "This addition allows for  a  number  of  possibilities.  For
  834.          example, an Administrative Authority may define an unregistered Object  Class  so
  835.          as to  permit  a  user  to  add  any  registered  attribute  to  the  entry.  The
  836.          Administrative authority may limit the attributes for an entry for  a  particular
  837.          object class to those on a  locally  held  list.  It  may  also  make  particular
  838.          attributes mandatory for a particular object class, over and above those required
  839.          by the registered object class definition."
  840.          9.4.2  There is one special object  class,  of  which  every  other  class  is  a
  841.          subclass. This object class is called "Top" and is defined in  9.4.8.1.
  842.          9.4.3  Every entry shall contain an attribute of type ObjectClass to identify the
  843.          object class and superclasses to which the entry belongs. The definition of  this
  844.          attribute is given in  9.5.4. The attribute is multivalued. There  shall  be  one
  845.          value of the attribute for the object class and  each  of  its  superclasses  for
  846.          which an object identifier is defined, except that the value of "Top" need not be
  847.  
  848.  
  849.  
  850.  
  851.          PAGE12  Fascicle VIII.8 - Rec. X.501
  852.  
  853.          present so long as some other value is present.
  854.                Note 1 - The requirement that  the  ObjectClass  attribute  be  present  in
  855.          every entry is reflected in the definition of "Top".
  856.                Note 2 - Because an object  class  is  considered  to  belong  to  all  its
  857.          superclasses, each member of the chain of superclasses up to Top  is  represented
  858.          by a value in the object class attribute (and any  value  in  the  chain  may  be
  859.          matched by a filter).
  860.                The ObjectClass attribute is managed by the Directory, i.e. it may  not  be
  861.          modified by the user.
  862.          9.4.4  The Directory enforces the defined object class for  every  entry  in  the
  863.          DIB. Any attempt to modify an entry that would violate the entry's  object  class
  864.          definition fails.
  865.                Note - In particular, the Directory will prevent:
  866.                a)  ttribute types absent from the object class definition being added  to
  867.                   an entry of that object class;
  868.                b)  n entry being created with one or more absent mandatory attribute types 
  869.                   for the object class of the entry;
  870.                c)  mandatory attribute type for the  object  class  of  the  entry  being
  871.                   deleted.
  872.          9.4.5  The special object class Alias is defined in  9.4.8.2. Every  alias  entry
  873.          shall have an object class which is a subclass of this class.
  874.                Note - The Directory's dereferencing of  alias  entries  ensures  that  the
  875.          values of the ObjectClass attribute of an alias entry  are  rarely  seen.  It  is
  876.          recommended that appropriate alias object classes be derived from "Alias" without
  877.          assigning an object identifier.
  878.          9.4.6  The following ASN.1 macro may (but need not) be used to define  an  object
  879.          class. The empty production for SubclassOf is permitted only in defining Top:
  880.                OBJECT-CLASS MACRO ::=
  881.                BEGIN
  882.                TYPENOTATION ::=SubclassOf
  883.                                    MandatoryAttributes
  884.                                    OptionalAttributes
  885.  
  886.  
  887.  
  888.  
  889.  
  890.  
  891.  
  892.  
  893.  
  894.  
  895.  
  896.  
  897.  
  898.  
  899.  
  900.  
  901.  
  902.  
  903.  
  904.  
  905.  
  906.  
  907.  
  908.  
  909.  
  910.  
  911.  
  912.  
  913.  
  914.  
  915.  
  916.  
  917.  
  918.  
  919.  
  920.  
  921.  
  922.                                                       Fascicle VIII.8 - Rec. X.501   PAGE1
  923.  
  924.